/*
 * Componente.java
 *
 * Created on August 5, 2007, 3:33 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
package tcc.domain.produto;

import java.io.Serializable;
import java.math.BigDecimal;
import tcc.domain.AbstractBean;

/**
 * Entity class Componente
 *
 * @author Diego
 */
@javax.persistence.Entity
public class Componente extends AbstractBean implements Serializable {
    
    
    // <editor-fold defaultstate="collapsed" desc=" Fields ">
    
    @javax.persistence.Id
    @javax.persistence.GeneratedValue(strategy = javax.persistence.GenerationType.AUTO)
    private Long id;
    
    private String nome;
    private Byte diasEntrega;
    private BigDecimal precoSugerido;
    private Double quantidadeMinima;
    private Double quantidadePorLote;
    private Boolean ativo;
    
    // </editor-fold>
    
    /** Creates a new instance of Componente */
    public Componente() {
    }
    
    // <editor-fold defaultstate="collapsed" desc=" Accessors ">
    
    /**
     * Gets the id of this Componente.
     * @return the id
     */
    public Long getId() {
        return this.id;
    }
    
    /**
     * Sets the id of this Componente to the specified value.
     * @param id the new id
     */
    public void setId(Long id) {
        this.id = id;
    }
    
    public String getNome() {
        return nome;
    }
    
    public void setNome(String nome) {
        this.nome = nome;
    }
    
    public Byte getDiasEntrega() {
        return diasEntrega;
    }
    
    public void setDiasEntrega(Byte diasEntrega) {
        this.diasEntrega = diasEntrega;
    }
    
    public BigDecimal getPrecoSugerido() {
        return precoSugerido;
    }
    
    public void setPrecoSugerido(BigDecimal precoSugerido) {
        this.precoSugerido = precoSugerido;
    }
    
    public Double getQuantidadeMinima() {
        return quantidadeMinima;
    }
    
    public void setQuantidadeMinima(Double quantidadeMinima) {
        this.quantidadeMinima = quantidadeMinima;
    }
    
    public Double getQuantidadePorLote() {
        return quantidadePorLote;
    }
    
    public void setQuantidadePorLote(Double quantidadePorLote) {
        this.quantidadePorLote = quantidadePorLote;
    }
    
    public Boolean getAtivo() {
        return ativo;
    }
    
    public void setAtivo(Boolean ativo) {
        this.ativo = ativo;
    }
    
    // </editor-fold >
    
    // <editor-fold defaultstate="collapsed" desc=" Object overriden methods ">
    
    /**
     * Returns a hash code value for the object.  This implementation computes
     * a hash code value based on the id fields in this object.
     * @return a hash code value for this object.
     */
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (this.getId() != null ? this.getId().hashCode() : 0);
        return hash;
    }
    
    /**
     * Determines whether another object is equal to this Componente.  The result is
     * <code>true</code> if and only if the argument is not null and is a Componente object that
     * has the same id field values as this object.
     * @param object the reference object with which to compare
     * @return <code>true</code> if this object is the same as the argument;
     * <code>false</code> otherwise.
     */
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Componente)) {
            return false;
        }
        Componente other = (Componente)object;
        if (this.getId() != other.getId() && (this.getId() == null || !this.getId().equals(other.getId()))) return false;
        return true;
    }
    
    // </editor-fold >
    
    
}
